웹 개발
웹보안도구_02_첫 배포_Render 써보기
작성자 : Heehyeon Yoo|2025-12-02
# Blog# Security# Flask# Deployment# Render
개발 과정에서 가장 막힌 지점
암호 검사기의 구현은 매우 간단했지만, 안심 링크의 악성 링크 판별 로직을 구현하는 일은 다소 힘들었다.
어떻게 이것을 악성 링크로 판단할 것인가?
단순 키워드만으로는 부족했고, 오탐이나 누락 등이 없어야 했다.
방향은 이렇게 잡았다.
- 단축 URL을 끝까지 추적해 최종 목적지를 먼저 확보
- 의심 키워드/패턴 검사로 1차 필터링
- 피싱 도메인 DB 대조로 2차 판단
피싱 도메인 DB라는 데이터에 의존한다는 문제는 있지만 우선 이 방향으로 진행하고,
추후 필요하다면 LLM 등을 올리는 것도 좋겠다 싶었다.
배포 환경 선택
Flask 기반의 가벼운 웹앱이라서 Render를 선택했다.
배포 복잡도가 낮고, 무료 플랜에서도 바로 확인이 가능했다.
기준은 명확했다.
- 빠르게 올릴 수 있을 것
- 무료로 유지 가능할 것
- Python/Flask 배포 경험으로 남을 것
배포 과정에서 정리한 것들
배포를 하려면 “로컬에서 돌아가던 것”을 서버가 이해할 수 있도록 해야 한다.
아래 항목들을 먼저 정리했다.
requirements.txt정리Procfile설정- 실행 진입점(app) 명확히 분리
- 환경 변수(.env) 분리
키/토큰은 절대 코드에 넣지 않도록 기준을 잡았다.
첫 배포 결과
Render에 올린 뒤 실제 URL로 접속이 가능해졌다.
https://zeroroom.onrender.com
이제 이 프로젝트는 “실제 서비스로 접근 가능한 도구”가 됐고 다음과 같은 결과를 얻었다.
- 로컬에서 끝나지 않는 프로젝트가 됨
- 실제 환경에서 오류를 발견할 수 있게 됨
- 증명 가능한 링크 확보
다만 Render 무료 플랜 특성상 슬립/재기동 이슈가 있어 운영 측면에서는 다른 배포 방법도 고민해야 한다.
기능을 개선하고 추가한다면 Render 배포만으로는 부족할 것 같다.